/*************************************************************************
 Copyright (C) Unpublished Unis Software, Inc. All rights reserved.
 Unis Software, Inc., Confidential and Proprietary.

 This software is subject to copyright protection
 under the laws of the Public of China and other countries.

 Unless otherwise explicitly stated, this software is provided
 by Unis "AS IS".
 *************************************************************************/
package com.unis.service.${module};

import java.util.List;

import com.unis.model.BaseModel;
import com.unis.model.${module}.${classname};

/**
 * @author ${user} (email:${email})
 * @since ${createDate}
 */
public interface ${classname}Service {
<#assign instance = "${classname?lower_case}">

    /****************************************
     * Insert a instace of ${classname}
     ****************************************/
    void insert(${classname} ${instance}) throws Exception;

    /****************************************
     * Insert instaces of ${classname}
     ****************************************/
    void batchInsert(${classname} ${instance}) throws Exception;

    /****************************************
     * Delete a instace of ${classname}
     ****************************************/
    void delete(${classname} ${instance}) throws Exception;

    /****************************************
     * Delete instaces of ${classname}
     ****************************************/
    void batchDelete(${classname} ${instance}) throws Exception;

    /****************************************
     * Update a instace of ${classname}
     ****************************************/
    void update(${classname} ${instance}) throws Exception;

    /****************************************
     * Query instaces of ${classname}
     ****************************************/
    List<BaseModel> queryAsList(${classname} ${instance}) throws Exception;

    /****************************************
     * Query a instaces of ${classname}
     ****************************************/
    BaseModel queryAsObject(${classname} ${instance}) throws Exception;
}
